using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FiltronASP.Models.Validators;

namespace FiltronASP.Models
{
    /// <summary>
    /// Fragment klasy odpowiadajacy tabeli <code>GalleryImages</code>.
    /// </summary>
    [MetadataType(typeof(GalleryValidation))]
    public partial class GalleryImage
    {
    }

    /// <summary>
    /// Klasa z walidacja dla niektorych danych klasy <code>GalleryImage</code>.
    /// </summary>
    public class GalleryImageValidation
    {

        [HiddenInput(DisplayValue = false)]
        public int gallery_image_id { get; set; }

        [Required(ErrorMessage = "Link do obrazka w galerii jest wymagany.")]
        [StringLength(255, ErrorMessage = "Link do obrazka w galerii nie powinien być dłuższy niż 255 znaków.")]
        public string gallery_image_link { get; set; }

        [Required(ErrorMessage = "Opis obrazka w galerii jest wymagany.")]
        [StringLength(255, ErrorMessage = "Opis obrazka w galerii nie powinien być dłuższy niż 255 znaków.")]
        public string gallery_image_info { get; set; }

        [Required(ErrorMessage = "Informacja na temat numeru porządkowego obrazka w galerii jest wymagana.")]
        [NotNegativeNumber(ErrorMessage = "Wprowadzona wartość powinna być nieujemna.")]
        public int gallery_image_ordering { get; set; }

        [Required(ErrorMessage = "Informacja na temat publikacji obrazka w galerii jest wymagana.")]
        public Nullable<bool> gallery_image_published { get; set; }

        [Required(ErrorMessage = "Informacja na temat galerii, w której znajduje się obrazek jest wymagana.")]
        public Nullable<int> gallery_id { get; set; }

        [Required(ErrorMessage = "Informacja na temat strony, do której przypisany jest obrazek jest wymagana.")]
        public Nullable<int> page_id { get; set; }

    }

}
